Squoosh Designer Plugin: Figma plugin for orchestrating layout animations#2402
Squoosh Designer Plugin: Figma plugin for orchestrating layout animations#2402kovmarci86 merged 86 commits intogoogle:mainfrom
Conversation
…oosh interpolation This commit adds end-to-end support for custom keyframe animations defined via Figma's `sharedPluginData` and propagates them to the Squoosh runtime for interpolation.
…with Squoosh interpolation" This reverts commit 384a558. # Conflicts: # support-figma/DC Squoosh designer/rs/src/lib.rs
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2402 +/- ##
============================================
+ Coverage 43.90% 47.25% +3.35%
Complexity 19 19
============================================
Files 39 44 +5
Lines 4485 5036 +551
Branches 51 51
============================================
+ Hits 1969 2380 +411
- Misses 2502 2642 +140
Partials 14 14
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…e_component_overrides
anshu10sep
left a comment
There was a problem hiding this comment.
Taking another pass through the architecture and design here are a few more thoughts regarding edge cases and scalability to consider.
anshu10sep
left a comment
There was a problem hiding this comment.
Thanks for the updates! The fixes for the layout width/height defaults and the hex color parsing errors look great and address the most critical issues.
Since this is a beta/preview PR, the remaining structural suggestions and edge cases mentioned in the previous comments can be addressed in follow-up PRs as the plugin matures. Approving this!
|
Looks good, thanks for addressing comments! |
Create v0.39.0-RC02 v0.39.0-RC01(#2446) This commit bumps the version across all Gradle (`gradle/libs.versions.toml`) and Cargo configuration files to `0.39.0` (`0.39.0-SNAPSHOT` in Gradle). It also unifies the `dc_squoosh_animation` and `dc_squoosh_parser` crates under the workspace dependencies. Changes and issues addressed since 0.38.4: - Enhance LiveUpdate feature (Issues #2282, #2379) - Add cargo publish steps to GitHub release workflow (Issues #2435, #2436) - Squoosh Designer Plugin: Figma plugin for orchestrating layout animations (Issue #2402) - Replace println!/eprintln! with Rust log API in library code (Issues #2403, #2411) - Update dc_figma_import README to reflect current architecture (Issues #426, #2427) - Add comprehensive unit tests for mergeStyles function (Issues #1963, #2416) - Avoid double key events during animated transitions (Issues #1514, #2417) - Clean up unwrap() calls in dc_jni crate (Issues #670, #2415) - Security: Update rustls-webpki 0.103.10 -> 0.103.12 (Issue #2434) - Document supported Android SDK levels (Issues #163, #2429) - Restore Modifier customization support in squoosh renderer (Issues #2292, #2426) - Handle unknown Figma features in deserialization (Issues #2305, #2414) - Add adaptive polling with exponential backoff for LiveUpdate (Issues #2282, #2423) - Add comprehensive Rust layout unit tests (Issues #405, #2413) - Update JNI dependency to 0.22.4 and refactor dc_jni (Issue #2432) - Enable CodeQL security scanning (Issues #926, #2412) - Prevent Design Switcher from briefly showing 'Offline' (Issues #142, #2421) - Stroke gradients account for stroke thickness (Issues #1549, #2420) - Add performance logging for high-cost fetch operations (Issues #281, #2419) - Remove unclaimed Open VSX extension recommendation (Issue #2431) - Add assembleRelease to CI to catch minified build issues (Issues #435, #2425) - Deprecate and remove publish_designcompose.sh script (Issue #2433) - Clarify visibility documentation — parameter name is flexible (Issues #660, #2428) - Add JDK installation instructions to Getting Started docs (Issues #707, #2424) - Add security check for Figma token file permissions (Issues #249, #2418) - Fix whilePressing interaction getting stuck on multi-touch drag (Issue #2422) - Fix SquooshRoot infinite recomposition and freeze on rapid tap (Issue #2409) - Fix #436: Tutorial release build signing configuration (#2437) - Fix #291: Progress marker alignment in nested instances (#2444) - Fix #244: Rotated node margin calculation uses pre-rotation size (#2439) --------- Co-authored-by: anshu10sep <priyanksingh@google.com>
This commit bumps the version across all Gradle (`gradle/libs.versions.toml`) and Cargo configuration files to `0.39.0` (`0.39.0-SNAPSHOT` in Gradle). It also unifies the `dc_squoosh_animation` and `dc_squoosh_parser` crates under the workspace dependencies. Changes and issues addressed since 0.38.4: - Enhance LiveUpdate feature (Issues google#2282, google#2379) - Add cargo publish steps to GitHub release workflow (Issues google#2435, google#2436) - Squoosh Designer Plugin: Figma plugin for orchestrating layout animations (Issue google#2402) - Replace println!/eprintln! with Rust log API in library code (Issues google#2403, google#2411) - Update dc_figma_import README to reflect current architecture (Issues google#426, google#2427) - Add comprehensive unit tests for mergeStyles function (Issues google#1963, google#2416) - Avoid double key events during animated transitions (Issues google#1514, google#2417) - Clean up unwrap() calls in dc_jni crate (Issues google#670, google#2415) - Security: Update rustls-webpki 0.103.10 -> 0.103.12 (Issue google#2434) - Document supported Android SDK levels (Issues google#163, google#2429) - Restore Modifier customization support in squoosh renderer (Issues google#2292, google#2426) - Handle unknown Figma features in deserialization (Issues google#2305, google#2414) - Add adaptive polling with exponential backoff for LiveUpdate (Issues google#2282, google#2423) - Add comprehensive Rust layout unit tests (Issues google#405, google#2413) - Update JNI dependency to 0.22.4 and refactor dc_jni (Issue google#2432) - Enable CodeQL security scanning (Issues google#926, google#2412) - Prevent Design Switcher from briefly showing 'Offline' (Issues google#142, google#2421) - Stroke gradients account for stroke thickness (Issues google#1549, google#2420) - Add performance logging for high-cost fetch operations (Issues google#281, google#2419) - Remove unclaimed Open VSX extension recommendation (Issue google#2431) - Add assembleRelease to CI to catch minified build issues (Issues google#435, google#2425) - Deprecate and remove publish_designcompose.sh script (Issue google#2433) - Clarify visibility documentation — parameter name is flexible (Issues google#660, google#2428) - Add JDK installation instructions to Getting Started docs (Issues google#707, google#2424) - Add security check for Figma token file permissions (Issues google#249, google#2418) - Fix whilePressing interaction getting stuck on multi-touch drag (Issue google#2422) - Fix SquooshRoot infinite recomposition and freeze on rapid tap (Issue google#2409)
Work-in-progress beta/previews state of a Figma plugin that allows creating complex animations between variant changes.